package main

import "fmt"

func main() {
	//基本格式
	for i := 0; i < 10; i++ {
		fmt.Println(i)
	}

	//变种1：初始语句可以定义在for外,不在for的作用域范围内，但是;必须存在
	fmt.Println("变种1：")
	var i = 5
	for ; i < 10; i++ {
		fmt.Println(i)
	}

	//变种2：初始语句和结束语句都不在for的作用域范围内
	fmt.Println("变种2：")
	var j = 5
	for j < 10 {
		fmt.Println(j)
		j++
	}

	//无线循环，死循环
	/* for {
		fmt.Println("123")
	} */

	//for循环可以通过break、goto、return、panic语句强制退出循环。

	//for range 循环
	s := "Hello沙河"
	fmt.Println(len(s))
	for i, v := range s {
		fmt.Printf("%d\t%c \n", i, v)
	}

	//九九乘法表
	for i := 1; i <= 9; i++ {
		for j = 1; j <= i; j++ {
			sum := j * i
			fmt.Printf("%d*%d=%d\t", j, i, sum)
		}
		fmt.Println()
	}
}
